/*
 * Plane.h
 *
 *  Created on: Jul 2, 2010
 *      Author: Ry
 */

#ifndef PLANE_H_
#define PLANE_H_

#include "Vector3.h"
#include "Ray.h"

class Plane {
public:
	Vector3 p;
	Vector3 n;

	Plane();

	/**
	 * Determines if a ray intersects this plane.
	 *
	 * @param r The ray to check for intersection with
	 * @param infinite Treat the ray as having infinite length.
	 * @param result The vector to update with the position of intersection
	 */
	bool intersection(const Ray &r, bool infinite, Vector3 &result);

	virtual ~Plane();
};

#endif /* PLANE_H_ */
